- Test the Plugin again using your OS, it is your responsibility to make sure your plugin works properly and is “clean” code. - Change version in CMakeList.txt then push your tag in the same step as the commit. If you are working on the master branch the workflow should be something like this:
$ git commit -am "my last changes")
$ git tag v[new version number]
$ git push --tags origin master:master
- The last step pushes the tag and the branch in one step, thus avoiding the problem of deployment being split between “prod” and “beta”. It's also much simpler. (All tags from your local clone are pushed to origin. If this is a problem they can also be removed.) - Deploy the release your “Prod” Cloudsmith repository.
Check the binary and catalog files deployed to your “Prod” Cloudsmith repository.
Copy your catalogs metadata (xml) and main icon to your local opencpn/plugins/metadata repository
Generate a local ocpn-plugins.xml so that the uploaded tarballs can be tested and then push it up to your forked repository. See
Readme and read suggested steps below. (See process below)
Push your new ocpn-pugins.xml catalog to your remote repository
From inside OpenCPN use PI Installer to load your new ocpn-plugins.xml, then select your new plugin to load it.
Confirm the plugin loads and works properly.
Make a Pull Request of the new [plugin]catalog.xml files (typically 4 xml files) and an Icon file to
https://github.com/OpenCPN/plugins from your forked opencpn-plugins directory.
If your release is acceptable it will then be published in the next update of the opencpn-plugin.XML and become available to the users.
(Draft) How does the Plugin Developer test deployment and installation of their plugin … and the generated ocpn-plugins.xml?
There are three alternatives:
Combine the metadata by hand in an xml file with the name ocpn-plugins.xml and then point PI Installer at that file, however there is no reason at all to do it by hand.
Load an OpenCPN version built with the PI Installer and select the appropriate XML url.
The ocpn-metadata tool automates the use of a new XML file with correct urls. Such xml files are produced by the CI builds. A PI Dev can git clone OpenCPN/plugins, copy your cloudsmith repository's modified XML files into the metadata/dir and run ocpn-metadata which then creates a new ocpn-plugins.xml. This is easier to automate and less error-prone.
You will need to have Python > v3.4
More Detail
-
Use the master branch and copy/add the recently created xml and icons from cloudsmith.
Run the batch file or python file to make a local opencpn-plugins.xml (or do it by hand).
Test installation of the new plugin from the PI Installer using the subject Opencpn
OS.
Point the PI Installer (Under Options>Plugins> Click on the red “+”) and point the xml file to the appropriate url.
Plugin Installer activated at the “+”
PI Installer menu to Load a URL directly
Select your plugin for installation.
Confirm it installs and works properly.
Then, if ok, Deploy the Release to your “stable” Cloudsmith repository
with a new version number
with a Push Tag
Then, Make a PR to https://github.com/OpenCPN/plugins from your fork.
with your new xml metadata files, and icon so the plugin is included.